In innumerable situations, it is important to have the output of some "process" (e.g., the temperature in a room, the quality of a product being manufactured in a chemical plant, the altitude of an aircraft) conform to a specified desired value called a setpoint or reference value. This is effected by using a device called a "controller" that takes as input, typically, the error between the current process output (current room temperature, for example) and the desired process output or "setpoint" (as specified by the thermostat setting) and produces as output a control signal (a signal to the furnace that regulates fuel flow). The entire setup consisting of the controller, the process and the connections that establish the information flow, is referred to as a "control loop" and a process that is being controlled in this fashion is said to be under closed-loop control. In contrast, a process is in "open-loop" when it is given a predetermined input signal and the process output is observed without this output affecting subsequent process input. In this open-loop case, there is no regulation of process output.
Controllers of many types exist. However, the majority of all control in industrial applications is accomplished with a specific class of controllers, referred to as "PID controllers". A PID controller has three parameters: the proportional gain K.sub.C, the integral gain K.sub.I, and the derivative gain K.sub.D. The output of a PID controller at any time is the sum of three terms: K.sub.C times the current error, K.sub.I times the accumulated (integrated) error over some past time, and K.sub.D times the current rate of change (derivative) of error. Several variations, simplifications and extensions of PID controllers exist, but the above description is sufficiently general for this discussion.
By tuning a PID controller--specifying suitable values for the three parameters--all but the most demanding processes can be adequately controlled. With all PID controllers, occasional retuning is needed: real-world processes change over time for a variety of reasons.
PID tuning is often done manually and iteratively. The process operator or control engineer varies the parameters (in a principled or ad-hoc way) until acceptable process behavior to a small change in the setpoint is achieved. This can be a prolonged exercise and it seldom results in highly accurate controller settings. "Autotuners" have therefore been developed that can, in principle at least, produce near-optimal parameter settings automatically.
Two kinds of autotuners exist. In open-loop autotuners, the process is stimulated in open-loop, without the regulating effects of the controller. The resulting process output is then analyzed to identify appropriate parameter values. Open-loop autotuners cannot be used for unstable processes, and it is in general less desirable since the process is being operated in an uncontrolled situation.
With closed-loop autotuners, the control loop is not compromised. Instead, process data is collected while the process is operating under full control.
Typically, a small change is made to the setpoint of the control loop, and the controller parameters determined on the basis of some analysis of the resulting process output. The analysis of the data is more complicated, but in most applications the complication is outweighed by the benefits of tuning in closed-loop.
In this invention, a neural network is employed to tune the process in closed loop.
In closed loop means that the tuner does not require the controller to be shut down in order to operate effectively. The process thus always remains under control.
In the article "Novel Neural Network Based Self-Tuning PID Controller" which uses pattern recognition technique by Swiniarski (see Novel Neural Network Based Self-Tuning PID Controller Which Uses Pattern Recognition Techniques, Proceedings of the American Control Conference, June 1990, Pages 3023, 3024) there is described a "neuromorphic" tuner for tuning the PID controller in open loop. It uses the open-loop Ziegler-Nichols algorithm, a heuristic procedure developed in 1942. The neural network system of Swiniarski is not designed to respond to error data.
The neural network described therein (neuromorphic tuner) stores the discrete samples of an open loop step response as a sequence of process values for time samples. The tuning is done for an open loop system, "(without regulator)". And the tuners that can be developed based on this work fall in the category of PID tuners referred to as "open-loop" tuners. Thus, the use of a neural network as proposed by Swiniarski does not take advantage of the potential for closed-loop utilization, a structure which could adjust to its own expected adjustments.
Neural networks have been described by Honeywell in the co-pending application Ser. No. 07/643,595, now abandoned, entitled "A Two-Level System Identifier" in which the process (the "system") itself is identified and the parameters are estimated and tuned for the system that is identified, and in 07/594,927, now abandoned, where a neural network is used to estimate parameters for models of a process. Also, in Neural Networks for System Identification (Chu, et al, IEEE Control Systems Magazine, April 1990, pp 31-35) a Hopfield neural network is used for parameter estimation. (The use of a Hopfield type neural network presents the obvious problem of settling time for determining output, whereas non-Hopfield networks can train entirely off-line and produce results on-line very quickly.) A relatively cost effective solution is described in this patent, which provides an autotuner of a design which is readily acceptable to the marketplace at the present time because of its reliance on "PID" type tuning as opposed to tuning unknown parameters of an unknown process.
In copending application (Ser. No. 07/643,595, now abandoned A Two-Level System Identifier), the system identification focus is on process parameter determination as opposed to controller parameters, as is the case with this invention.